package com.base.cn.platform.os.entity.agent.income;

import com.base.cn.platform.os.common.mybatis.BaseEntity;
import com.base.cn.platform.os.entity.agent.user.AgentUser;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

/**
 * 所有推广员收益详情Entity
 *
 * @author LIZHIPENG
 * @create 2018-05-12 上午 11:44
 */
@Data
@EqualsAndHashCode
public class AgentIncomeInfo extends BaseEntity {

    /**推广员ID*/
    private BigDecimal agentUserId;
    /**收益来源学员ID*/
    private BigDecimal userId;
    /**结算ID*/
    private BigDecimal settlementId;
    /**订单ID*/
    private BigDecimal orderId;
    /**订单号*/
    private String orderNo;
    /**流水ID*/
    private BigDecimal detailsId;
    /**支付时间*/
    private Date payTime;
    /**商品数据*/
    private String shopData;
    /**订单金额*/
    private Double orderPrice;
    /**要分成的商品价格*/
    private Double shopPrice;
    /**收益金额*/
    private Double incomePrice;
    /**奖励金金额*/
    private Double bonusPrice;
    /**收益类型：1.推广收益，2.奖励金收益*/
    private Integer incomeType;
    /**消费用户类型：1.普通用户，2.下线客户*/
    private Integer userType;
    /**推广员KEY*/
    private String shareKey;
    //=============== 扩展数据 ===============
    /**用户数据*/
    private Map<String, Object> user;
    /**关联订单信息*/
    private Map<String, Object> order;

    //=============== 搜索条件 ===============
    /**代理用户对象*/
    private AgentUser agentUser;
    /**开始支付时间*/
    private String beginPayTime;
    /**结束支付时间*/
    private String endPayTime;
    /**结算周期查询时，时间范围控制开始*/
    private String startTime;
    /**结算周期查询时，时间范围控制结束*/
    private String endTime;
    /**查询条数*/
    private Integer count;
}
